package com.family.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.family.common.result.Result;
import com.family.model.system.SysUser;
import com.family.model.vo.AssignRoleVo;
import com.family.model.vo.SysUserQueryVo;

import java.util.List;
import java.util.Map;

public interface SysUserService extends IService<SysUser> {
    IPage<SysUser> selectPage(Page<SysUser> sysUserPage, SysUserQueryVo sysUserQueryVo);

    Result<Object> updateStatus(Long id, Integer status);

    Map<String, Object> getRolesByUserId(Long userId);

    void doAssign(AssignRoleVo assignRoleVo);

    SysUser getByUsername(String username);

    Map<String, Object> getUserInfoByUserId(Long userId);

    List<String> getUserBtnPermsByUserId(Long userId);
}
